home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / ppfont10 / ppfont.txt < prev    next >
Text File  |  1993-04-24  |  4KB  |  142 lines

  1. #define LF_FACESIZE         32
  2. #define LF_FULLFACESIZE     64
  3.  
  4. #define RASTER_FONTTYPE     0x0001
  5. #define DEVICE_FONTTYPE     0X0002
  6. #define TRUETYPE_FONTTYPE   0x0004
  7.  
  8.  
  9. typedef struct tagLOGFONT
  10. {
  11.     int     lfHeight;
  12.     int     lfWidth;
  13.     int     lfEscapement;
  14.     int     lfOrientation;
  15.     int     lfWeight;
  16.     BYTE    lfItalic;
  17.     BYTE    lfUnderline;
  18.     BYTE    lfStrikeOut;
  19.     BYTE    lfCharSet;
  20.     BYTE    lfOutPrecision;
  21.     BYTE    lfClipPrecision;
  22.     BYTE    lfQuality;
  23.     BYTE    lfPitchAndFamily;
  24.     char    lfFaceName[LF_FACESIZE];
  25. } LOGFONT;
  26.  
  27. /* Structure passed to FONTENUMPROC */
  28. typedef struct tagENUMLOGFONT
  29. {
  30.     LOGFONT elfLogFont;
  31.     char    elfFullName[LF_FULLFACESIZE];
  32.     char    elfStyle[LF_FACESIZE];
  33. } ENUMLOGFONT, FAR* LPENUMLOGFONT;
  34.  
  35. /* weight values */
  36. #define FW_DONTCARE         0
  37. #define FW_THIN             100
  38. #define FW_EXTRALIGHT       200
  39. #define FW_LIGHT            300
  40. #define FW_NORMAL           400
  41. #define FW_MEDIUM           500
  42. #define FW_SEMIBOLD         600
  43. #define FW_BOLD             700
  44. #define FW_EXTRABOLD        800
  45. #define FW_HEAVY            900
  46.  
  47. #define FW_ULTRALIGHT       FW_EXTRALIGHT
  48. #define FW_REGULAR          FW_NORMAL
  49. #define FW_DEMIBOLD         FW_SEMIBOLD
  50. #define FW_ULTRABOLD        FW_EXTRABOLD
  51. #define FW_BLACK            FW_HEAVY
  52.  
  53. /* CharSet values */
  54. #define ANSI_CHARSET        0
  55. #define DEFAULT_CHARSET     1
  56. #define SYMBOL_CHARSET      2
  57. #define SHIFTJIS_CHARSET    128
  58. #define HANGEUL_CHARSET     129
  59. #define CHINESEBIG5_CHARSET 136
  60. #define OEM_CHARSET         255
  61.  
  62. /* OutPrecision values */
  63. #define OUT_DEFAULT_PRECIS      0
  64. #define OUT_STRING_PRECIS       1
  65. #define OUT_CHARACTER_PRECIS    2
  66. #define OUT_STROKE_PRECIS       3
  67. #if (WINVER >= 0x030a)
  68. #define OUT_TT_PRECIS           4
  69. #define OUT_DEVICE_PRECIS       5
  70. #define OUT_RASTER_PRECIS       6
  71. #define OUT_TT_ONLY_PRECIS      7
  72. #endif  /* WINVER >= 0x030a */
  73.  
  74. /* ClipPrecision values */
  75. #define CLIP_DEFAULT_PRECIS     0x00
  76. #define CLIP_CHARACTER_PRECIS   0x01
  77. #define CLIP_STROKE_PRECIS      0x02
  78. #define CLIP_MASK               0x0F
  79. #if (WINVER >= 0x030a)
  80. #define CLIP_LH_ANGLES          0x10
  81. #define CLIP_TT_ALWAYS          0x20
  82. #define CLIP_EMBEDDED           0x80
  83. #endif  /* WINVER >= 0x030a */
  84.  
  85. /* Quality values */
  86. #define DEFAULT_QUALITY     0
  87. #define DRAFT_QUALITY       1
  88. #define PROOF_QUALITY       2
  89.  
  90. /* PitchAndFamily pitch values (low 4 bits) */
  91. #define DEFAULT_PITCH       0x00
  92. #define FIXED_PITCH         0x01
  93. #define VARIABLE_PITCH      0x02
  94.  
  95. /* PitchAndFamily family values (high 4 bits) */
  96. #define FF_DONTCARE         0x00
  97. #define FF_ROMAN            0x10
  98. #define FF_SWISS            0x20
  99. #define FF_MODERN           0x30
  100. #define FF_SCRIPT           0x40
  101. #define FF_DECORATIVE       0x50
  102.  
  103. //------------------------------------------------------------------
  104. /* Structure passed to FONTENUMPROC */
  105. /* NOTE: NEWTEXTMETRIC is the same as TEXTMETRIC plus 4 new fields */
  106. typedef struct tagNEWTEXTMETRIC
  107. {
  108.     int     tmHeight;
  109.     int     tmAscent;
  110.     int     tmDescent;
  111.     int     tmInternalLeading;
  112.     int     tmExternalLeading;
  113.     int     tmAveCharWidth;
  114.     int     tmMaxCharWidth;
  115.     int     tmWeight;
  116.     BYTE    tmItalic;
  117.     BYTE    tmUnderlined;
  118.     BYTE    tmStruckOut;
  119.     BYTE    tmFirstChar;
  120.     BYTE    tmLastChar;
  121.     BYTE    tmDefaultChar;
  122.     BYTE    tmBreakChar;
  123.     BYTE    tmPitchAndFamily;
  124.     BYTE    tmCharSet;
  125.     int     tmOverhang;
  126.     int     tmDigitizedAspectX;
  127.     int     tmDigitizedAspectY;
  128.     DWORD   ntmFlags;
  129.     UINT    ntmSizeEM;
  130.     UINT    ntmCellHeight;
  131.     UINT    ntmAvgWidth;
  132. } NEWTEXTMETRIC;
  133. typedef NEWTEXTMETRIC FAR*  LPNEWTEXTMETRIC;
  134.  
  135. /* ntmFlags field flags */
  136. #define NTM_REGULAR     0x00000040L
  137. #define NTM_BOLD        0x00000020L
  138. #define NTM_ITALIC      0x00000001L
  139.  
  140. #define LF_FULLFACESIZE     64
  141.  
  142.